package br.unifor.g2cl.hl;

/**
 * Class used as a way to specify how objects should be serialized in a specific application domain.
 * 
 * 
 * @author Leandro Sales (leandro.shp@gmail.com)
 *
 */
public interface Marshaller {
	
	/**
	 * Specifies how to deserialize an specific Object.
	 * 
	 */
	public Object getObjectFromByte(byte[] arr, int offset, int length) throws Exception;

	/**
	 * Specifies how to serialize an specific Object.
	 */			
	public byte[] getArrayFromObject(Object o) throws Exception;
}
